package com.dyj.goodlife.domain.query;

import com.dyj.common.domain.query.BaseQuery;

/**
 * 创建合作关系请求值
 */
public class CreatePartnerOrderQuery extends BaseQuery {

    /**
     * 商家id
     */
    private String account_id;
    /**
     * 收费类型
     */
    private Integer charge_type;
    /**
     * 抽佣比例，仅整体固定抽佣传递。万分位，例如1234表示12.34% 选填
     */
    private String commission_ratio;
    /**
     * 合作类型
     */
    private Integer cooperation_content;
    /**
     * 合作结束时间，秒级时间戳，不得早于开始时间
     */
    private Long end_time;
    /**
     * 合作商品渠道 选填
     */
    private Integer goods_channel;
    /**
     * 发起合作时间，秒级时间戳，不得选择过去时间
     */
    private Long start_time;

    public String getAccount_id() {
        return account_id;
    }

    public CreatePartnerOrderQuery setAccount_id(String account_id) {
        this.account_id = account_id;
        return this;
    }

    public Integer getCharge_type() {
        return charge_type;
    }

    public CreatePartnerOrderQuery setCharge_type(Integer charge_type) {
        this.charge_type = charge_type;
        return this;
    }

    public String getCommission_ratio() {
        return commission_ratio;
    }

    public CreatePartnerOrderQuery setCommission_ratio(String commission_ratio) {
        this.commission_ratio = commission_ratio;
        return this;
    }

    public Integer getCooperation_content() {
        return cooperation_content;
    }

    public CreatePartnerOrderQuery setCooperation_content(Integer cooperation_content) {
        this.cooperation_content = cooperation_content;
        return this;
    }

    public Long getEnd_time() {
        return end_time;
    }

    public CreatePartnerOrderQuery setEnd_time(Long end_time) {
        this.end_time = end_time;
        return this;
    }

    public Integer getGoods_channel() {
        return goods_channel;
    }

    public CreatePartnerOrderQuery setGoods_channel(Integer goods_channel) {
        this.goods_channel = goods_channel;
        return this;
    }

    public Long getStart_time() {
        return start_time;
    }

    public CreatePartnerOrderQuery setStart_time(Long start_time) {
        this.start_time = start_time;
        return this;
    }

    public static CreatePartnerOrderQueryBuilder builder() {
        return new CreatePartnerOrderQueryBuilder();
    }

    public static final class CreatePartnerOrderQueryBuilder {
        private String account_id;
        private Integer charge_type;
        private String commission_ratio;
        private Integer cooperation_content;
        private Long end_time;
        private Integer goods_channel;
        private Long start_time;
        private Integer tenantId;
        private String clientKey;

        private CreatePartnerOrderQueryBuilder() {
        }

        public CreatePartnerOrderQueryBuilder accountId(String accountId) {
            this.account_id = accountId;
            return this;
        }

        public CreatePartnerOrderQueryBuilder chargeType(Integer chargeType) {
            this.charge_type = chargeType;
            return this;
        }

        public CreatePartnerOrderQueryBuilder commissionRatio(String commissionRatio) {
            this.commission_ratio = commissionRatio;
            return this;
        }

        public CreatePartnerOrderQueryBuilder cooperationContent(Integer cooperationContent) {
            this.cooperation_content = cooperationContent;
            return this;
        }

        public CreatePartnerOrderQueryBuilder endTime(Long endTime) {
            this.end_time = endTime;
            return this;
        }

        public CreatePartnerOrderQueryBuilder goodsChannel(Integer goodsChannel) {
            this.goods_channel = goodsChannel;
            return this;
        }

        public CreatePartnerOrderQueryBuilder startTime(Long startTime) {
            this.start_time = startTime;
            return this;
        }

        public CreatePartnerOrderQueryBuilder tenantId(Integer tenantId) {
            this.tenantId = tenantId;
            return this;
        }

        public CreatePartnerOrderQueryBuilder clientKey(String clientKey) {
            this.clientKey = clientKey;
            return this;
        }

        public CreatePartnerOrderQuery build() {
            CreatePartnerOrderQuery createPartnerOrderQuery = new CreatePartnerOrderQuery();
            createPartnerOrderQuery.setAccount_id(account_id);
            createPartnerOrderQuery.setCharge_type(charge_type);
            createPartnerOrderQuery.setCommission_ratio(commission_ratio);
            createPartnerOrderQuery.setCooperation_content(cooperation_content);
            createPartnerOrderQuery.setEnd_time(end_time);
            createPartnerOrderQuery.setGoods_channel(goods_channel);
            createPartnerOrderQuery.setStart_time(start_time);
            createPartnerOrderQuery.setTenantId(tenantId);
            createPartnerOrderQuery.setClientKey(clientKey);
            return createPartnerOrderQuery;
        }
    }
}
